/**
 * @version v1.8
 * @author Reuse
 * 这个是我入门的第一个程序练习
 */

//数据类型布尔形 boolean->没有明确说明是多大，占多少空间

/**
 * --------------数据类型---------------------
 * 不论是在16位系统还是32位系统，int都占用4个字节，long都占用8个字节
 * 整形和浮点型都是自带有符号的
 * 整形默认为int类型， 浮点型默认为double
 * 字符串属于引用类型->String
 *                ->引用数据类型：String 数组 类 接口
  */
public class Stu2 {
    public static void mainFloat(String[] args) {
        System.out.println("=================================");

        int a = 10;

    /*    int b;
        System.out.println(b); ->在java中使用局部变量的时候必须初始化，直接报错
     */

        //在java中如果初始化超过了int能储存的最大值，那么编译会自动报错

        long c = 10L;
        System.out.println(Long.MIN_VALUE);//输出最大值和最小值
        System.out.println(Long.MIN_VALUE);

        double num = 1.1;
        System.out.println(num * num);//1.21
        //小数并没有非常精确的数字，精确到小数点后几位
        /**
         * 对于 byte short 小于4个字节的赋值的字面值 没有超过白送hi最大范围的
         * 时候, 不会被解析位整形
         */
    }

    public static void main(String[] args) {
        System.out.println("=================================");

        char a = 'A';
        char b = '张';
        System.out.println(a);
        System.out.println(b);//汉字占用两个字节

        boolean flg = true;
        System.out.println(flg);
    }

    public static void mainChange(String[] args) {
        System.out.println("=================================");
        /**
         * 1.自动类型转换
         * 2.强制类型转换
         * -->如果八个字节给四个字节，可能会丢失数据（long->int）
         *
         * 注意：有的时候是不可以进行强制类型转换的：比如
         */
        boolean flg = true;
        //int a = flg;  ->之间没有数据关联，所以根本不可以自动转换


        /**
         * String不是包装类型
         */
        String str = "hello";
        System.out.println(str);  //没有什么0和\0结尾

        String str2 = "345";
        int val = Integer.valueOf(str2); //int的包装类型
        System.out.println(val+1);

        int p = 100;
        String str3 = String.valueOf(p);  //将整形包装成String
        System.out.println(str3);

        int a = 10;
        int b = 20;
        System.out.println("a + b ="+a+b);//a + b = 1020  ->整体仍然是字符串
        System.out.println(a+b + "a + b");//30a + b ->加完才拼接的
        /**
         * sout里面的+是指->字符拼接
         */

    }
}


